package com.zpark.mp.practice.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zpark.mp.practice.entity.Person;
import com.zpark.mp.practice.service.IPersonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author RZS
 * @since 2024-04-28
 */
@RestController
@RequestMapping("/practice/person")
public class PersonController {

    @Autowired
    private IPersonService personService;

    @GetMapping("/all")
    public List<Person> all(){
        return personService.list();
    }

    @PostMapping("/add")
    public String add(@RequestBody List<Person> lists){
        // 调用业务层添加数据(批量添加数据)
        boolean b = personService.saveBatch(lists);

        // 修改数据 如果字段为null，则不修改
        // personService.update()

        // 创建条件构造器
        QueryWrapper<Person> wrapper = new QueryWrapper<>();
        // 条件 username=大锤
        wrapper.eq("username", "大锤");
        // 条件 username ！= 大锤
        wrapper.ne("username", "大锤");
        // 条件  id > 5
        wrapper.gt("id", 5);
        // id >= 5
        wrapper.ge("id", 5);

        wrapper.or();

        // 区间条件   id between (1, 5)
        wrapper.between("id", 1, 5);
        // wrapper.in().or().gt().or().lt()


        // 使用条件构造器进行查询数据
        List<Object> list = personService.listObjs(wrapper);


        return "插入数据：" + b;
    }
}

